package com.docking.heylo.dao.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class AppointmentExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AppointmentExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andClaimIsNull() {
            addCriterion("claim is null");
            return (Criteria) this;
        }

        public Criteria andClaimIsNotNull() {
            addCriterion("claim is not null");
            return (Criteria) this;
        }

        public Criteria andClaimEqualTo(String value) {
            addCriterion("claim =", value, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimNotEqualTo(String value) {
            addCriterion("claim <>", value, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimGreaterThan(String value) {
            addCriterion("claim >", value, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimGreaterThanOrEqualTo(String value) {
            addCriterion("claim >=", value, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimLessThan(String value) {
            addCriterion("claim <", value, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimLessThanOrEqualTo(String value) {
            addCriterion("claim <=", value, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimLike(String value) {
            addCriterion("claim like", value, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimNotLike(String value) {
            addCriterion("claim not like", value, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimIn(List<String> values) {
            addCriterion("claim in", values, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimNotIn(List<String> values) {
            addCriterion("claim not in", values, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimBetween(String value1, String value2) {
            addCriterion("claim between", value1, value2, "claim");
            return (Criteria) this;
        }

        public Criteria andClaimNotBetween(String value1, String value2) {
            addCriterion("claim not between", value1, value2, "claim");
            return (Criteria) this;
        }

        public Criteria andPictureIsNull() {
            addCriterion("picture is null");
            return (Criteria) this;
        }

        public Criteria andPictureIsNotNull() {
            addCriterion("picture is not null");
            return (Criteria) this;
        }

        public Criteria andPictureEqualTo(String value) {
            addCriterion("picture =", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotEqualTo(String value) {
            addCriterion("picture <>", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureGreaterThan(String value) {
            addCriterion("picture >", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureGreaterThanOrEqualTo(String value) {
            addCriterion("picture >=", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLessThan(String value) {
            addCriterion("picture <", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLessThanOrEqualTo(String value) {
            addCriterion("picture <=", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLike(String value) {
            addCriterion("picture like", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotLike(String value) {
            addCriterion("picture not like", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureIn(List<String> values) {
            addCriterion("picture in", values, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotIn(List<String> values) {
            addCriterion("picture not in", values, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureBetween(String value1, String value2) {
            addCriterion("picture between", value1, value2, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotBetween(String value1, String value2) {
            addCriterion("picture not between", value1, value2, "picture");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeIsNull() {
            addCriterion("photo_time is null");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeIsNotNull() {
            addCriterion("photo_time is not null");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeEqualTo(Date value) {
            addCriterion("photo_time =", value, "photoTime");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeNotEqualTo(Date value) {
            addCriterion("photo_time <>", value, "photoTime");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeGreaterThan(Date value) {
            addCriterion("photo_time >", value, "photoTime");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("photo_time >=", value, "photoTime");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeLessThan(Date value) {
            addCriterion("photo_time <", value, "photoTime");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeLessThanOrEqualTo(Date value) {
            addCriterion("photo_time <=", value, "photoTime");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeIn(List<Date> values) {
            addCriterion("photo_time in", values, "photoTime");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeNotIn(List<Date> values) {
            addCriterion("photo_time not in", values, "photoTime");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeBetween(Date value1, Date value2) {
            addCriterion("photo_time between", value1, value2, "photoTime");
            return (Criteria) this;
        }

        public Criteria andPhotoTimeNotBetween(Date value1, Date value2) {
            addCriterion("photo_time not between", value1, value2, "photoTime");
            return (Criteria) this;
        }

        public Criteria andAddressNameIsNull() {
            addCriterion("address_name is null");
            return (Criteria) this;
        }

        public Criteria andAddressNameIsNotNull() {
            addCriterion("address_name is not null");
            return (Criteria) this;
        }

        public Criteria andAddressNameEqualTo(String value) {
            addCriterion("address_name =", value, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameNotEqualTo(String value) {
            addCriterion("address_name <>", value, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameGreaterThan(String value) {
            addCriterion("address_name >", value, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameGreaterThanOrEqualTo(String value) {
            addCriterion("address_name >=", value, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameLessThan(String value) {
            addCriterion("address_name <", value, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameLessThanOrEqualTo(String value) {
            addCriterion("address_name <=", value, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameLike(String value) {
            addCriterion("address_name like", value, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameNotLike(String value) {
            addCriterion("address_name not like", value, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameIn(List<String> values) {
            addCriterion("address_name in", values, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameNotIn(List<String> values) {
            addCriterion("address_name not in", values, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameBetween(String value1, String value2) {
            addCriterion("address_name between", value1, value2, "addressName");
            return (Criteria) this;
        }

        public Criteria andAddressNameNotBetween(String value1, String value2) {
            addCriterion("address_name not between", value1, value2, "addressName");
            return (Criteria) this;
        }

        public Criteria andLonIsNull() {
            addCriterion("lon is null");
            return (Criteria) this;
        }

        public Criteria andLonIsNotNull() {
            addCriterion("lon is not null");
            return (Criteria) this;
        }

        public Criteria andLonEqualTo(BigDecimal value) {
            addCriterion("lon =", value, "lon");
            return (Criteria) this;
        }

        public Criteria andLonNotEqualTo(BigDecimal value) {
            addCriterion("lon <>", value, "lon");
            return (Criteria) this;
        }

        public Criteria andLonGreaterThan(BigDecimal value) {
            addCriterion("lon >", value, "lon");
            return (Criteria) this;
        }

        public Criteria andLonGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("lon >=", value, "lon");
            return (Criteria) this;
        }

        public Criteria andLonLessThan(BigDecimal value) {
            addCriterion("lon <", value, "lon");
            return (Criteria) this;
        }

        public Criteria andLonLessThanOrEqualTo(BigDecimal value) {
            addCriterion("lon <=", value, "lon");
            return (Criteria) this;
        }

        public Criteria andLonIn(List<BigDecimal> values) {
            addCriterion("lon in", values, "lon");
            return (Criteria) this;
        }

        public Criteria andLonNotIn(List<BigDecimal> values) {
            addCriterion("lon not in", values, "lon");
            return (Criteria) this;
        }

        public Criteria andLonBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("lon between", value1, value2, "lon");
            return (Criteria) this;
        }

        public Criteria andLonNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("lon not between", value1, value2, "lon");
            return (Criteria) this;
        }

        public Criteria andLatIsNull() {
            addCriterion("lat is null");
            return (Criteria) this;
        }

        public Criteria andLatIsNotNull() {
            addCriterion("lat is not null");
            return (Criteria) this;
        }

        public Criteria andLatEqualTo(BigDecimal value) {
            addCriterion("lat =", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotEqualTo(BigDecimal value) {
            addCriterion("lat <>", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatGreaterThan(BigDecimal value) {
            addCriterion("lat >", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("lat >=", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatLessThan(BigDecimal value) {
            addCriterion("lat <", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatLessThanOrEqualTo(BigDecimal value) {
            addCriterion("lat <=", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatIn(List<BigDecimal> values) {
            addCriterion("lat in", values, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotIn(List<BigDecimal> values) {
            addCriterion("lat not in", values, "lat");
            return (Criteria) this;
        }

        public Criteria andLatBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("lat between", value1, value2, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("lat not between", value1, value2, "lat");
            return (Criteria) this;
        }

        public Criteria andPictureCountIsNull() {
            addCriterion("picture_count is null");
            return (Criteria) this;
        }

        public Criteria andPictureCountIsNotNull() {
            addCriterion("picture_count is not null");
            return (Criteria) this;
        }

        public Criteria andPictureCountEqualTo(Integer value) {
            addCriterion("picture_count =", value, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andPictureCountNotEqualTo(Integer value) {
            addCriterion("picture_count <>", value, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andPictureCountGreaterThan(Integer value) {
            addCriterion("picture_count >", value, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andPictureCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("picture_count >=", value, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andPictureCountLessThan(Integer value) {
            addCriterion("picture_count <", value, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andPictureCountLessThanOrEqualTo(Integer value) {
            addCriterion("picture_count <=", value, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andPictureCountIn(List<Integer> values) {
            addCriterion("picture_count in", values, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andPictureCountNotIn(List<Integer> values) {
            addCriterion("picture_count not in", values, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andPictureCountBetween(Integer value1, Integer value2) {
            addCriterion("picture_count between", value1, value2, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andPictureCountNotBetween(Integer value1, Integer value2) {
            addCriterion("picture_count not between", value1, value2, "pictureCount");
            return (Criteria) this;
        }

        public Criteria andTipFeeIsNull() {
            addCriterion("tip_fee is null");
            return (Criteria) this;
        }

        public Criteria andTipFeeIsNotNull() {
            addCriterion("tip_fee is not null");
            return (Criteria) this;
        }

        public Criteria andTipFeeEqualTo(BigDecimal value) {
            addCriterion("tip_fee =", value, "tipFee");
            return (Criteria) this;
        }

        public Criteria andTipFeeNotEqualTo(BigDecimal value) {
            addCriterion("tip_fee <>", value, "tipFee");
            return (Criteria) this;
        }

        public Criteria andTipFeeGreaterThan(BigDecimal value) {
            addCriterion("tip_fee >", value, "tipFee");
            return (Criteria) this;
        }

        public Criteria andTipFeeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("tip_fee >=", value, "tipFee");
            return (Criteria) this;
        }

        public Criteria andTipFeeLessThan(BigDecimal value) {
            addCriterion("tip_fee <", value, "tipFee");
            return (Criteria) this;
        }

        public Criteria andTipFeeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("tip_fee <=", value, "tipFee");
            return (Criteria) this;
        }

        public Criteria andTipFeeIn(List<BigDecimal> values) {
            addCriterion("tip_fee in", values, "tipFee");
            return (Criteria) this;
        }

        public Criteria andTipFeeNotIn(List<BigDecimal> values) {
            addCriterion("tip_fee not in", values, "tipFee");
            return (Criteria) this;
        }

        public Criteria andTipFeeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("tip_fee between", value1, value2, "tipFee");
            return (Criteria) this;
        }

        public Criteria andTipFeeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("tip_fee not between", value1, value2, "tipFee");
            return (Criteria) this;
        }

        public Criteria andPeopleCountIsNull() {
            addCriterion("people_count is null");
            return (Criteria) this;
        }

        public Criteria andPeopleCountIsNotNull() {
            addCriterion("people_count is not null");
            return (Criteria) this;
        }

        public Criteria andPeopleCountEqualTo(Integer value) {
            addCriterion("people_count =", value, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andPeopleCountNotEqualTo(Integer value) {
            addCriterion("people_count <>", value, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andPeopleCountGreaterThan(Integer value) {
            addCriterion("people_count >", value, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andPeopleCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("people_count >=", value, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andPeopleCountLessThan(Integer value) {
            addCriterion("people_count <", value, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andPeopleCountLessThanOrEqualTo(Integer value) {
            addCriterion("people_count <=", value, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andPeopleCountIn(List<Integer> values) {
            addCriterion("people_count in", values, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andPeopleCountNotIn(List<Integer> values) {
            addCriterion("people_count not in", values, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andPeopleCountBetween(Integer value1, Integer value2) {
            addCriterion("people_count between", value1, value2, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andPeopleCountNotBetween(Integer value1, Integer value2) {
            addCriterion("people_count not between", value1, value2, "peopleCount");
            return (Criteria) this;
        }

        public Criteria andGratisIsNull() {
            addCriterion("gratis is null");
            return (Criteria) this;
        }

        public Criteria andGratisIsNotNull() {
            addCriterion("gratis is not null");
            return (Criteria) this;
        }

        public Criteria andGratisEqualTo(Byte value) {
            addCriterion("gratis =", value, "gratis");
            return (Criteria) this;
        }

        public Criteria andGratisNotEqualTo(Byte value) {
            addCriterion("gratis <>", value, "gratis");
            return (Criteria) this;
        }

        public Criteria andGratisGreaterThan(Byte value) {
            addCriterion("gratis >", value, "gratis");
            return (Criteria) this;
        }

        public Criteria andGratisGreaterThanOrEqualTo(Byte value) {
            addCriterion("gratis >=", value, "gratis");
            return (Criteria) this;
        }

        public Criteria andGratisLessThan(Byte value) {
            addCriterion("gratis <", value, "gratis");
            return (Criteria) this;
        }

        public Criteria andGratisLessThanOrEqualTo(Byte value) {
            addCriterion("gratis <=", value, "gratis");
            return (Criteria) this;
        }

        public Criteria andGratisIn(List<Byte> values) {
            addCriterion("gratis in", values, "gratis");
            return (Criteria) this;
        }

        public Criteria andGratisNotIn(List<Byte> values) {
            addCriterion("gratis not in", values, "gratis");
            return (Criteria) this;
        }

        public Criteria andGratisBetween(Byte value1, Byte value2) {
            addCriterion("gratis between", value1, value2, "gratis");
            return (Criteria) this;
        }

        public Criteria andGratisNotBetween(Byte value1, Byte value2) {
            addCriterion("gratis not between", value1, value2, "gratis");
            return (Criteria) this;
        }

        public Criteria andPromoCodeIsNull() {
            addCriterion("promo_code is null");
            return (Criteria) this;
        }

        public Criteria andPromoCodeIsNotNull() {
            addCriterion("promo_code is not null");
            return (Criteria) this;
        }

        public Criteria andPromoCodeEqualTo(String value) {
            addCriterion("promo_code =", value, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeNotEqualTo(String value) {
            addCriterion("promo_code <>", value, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeGreaterThan(String value) {
            addCriterion("promo_code >", value, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeGreaterThanOrEqualTo(String value) {
            addCriterion("promo_code >=", value, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeLessThan(String value) {
            addCriterion("promo_code <", value, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeLessThanOrEqualTo(String value) {
            addCriterion("promo_code <=", value, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeLike(String value) {
            addCriterion("promo_code like", value, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeNotLike(String value) {
            addCriterion("promo_code not like", value, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeIn(List<String> values) {
            addCriterion("promo_code in", values, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeNotIn(List<String> values) {
            addCriterion("promo_code not in", values, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeBetween(String value1, String value2) {
            addCriterion("promo_code between", value1, value2, "promoCode");
            return (Criteria) this;
        }

        public Criteria andPromoCodeNotBetween(String value1, String value2) {
            addCriterion("promo_code not between", value1, value2, "promoCode");
            return (Criteria) this;
        }

        public Criteria andStartingPriceIsNull() {
            addCriterion("starting_price is null");
            return (Criteria) this;
        }

        public Criteria andStartingPriceIsNotNull() {
            addCriterion("starting_price is not null");
            return (Criteria) this;
        }

        public Criteria andStartingPriceEqualTo(BigDecimal value) {
            addCriterion("starting_price =", value, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andStartingPriceNotEqualTo(BigDecimal value) {
            addCriterion("starting_price <>", value, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andStartingPriceGreaterThan(BigDecimal value) {
            addCriterion("starting_price >", value, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andStartingPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("starting_price >=", value, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andStartingPriceLessThan(BigDecimal value) {
            addCriterion("starting_price <", value, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andStartingPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("starting_price <=", value, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andStartingPriceIn(List<BigDecimal> values) {
            addCriterion("starting_price in", values, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andStartingPriceNotIn(List<BigDecimal> values) {
            addCriterion("starting_price not in", values, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andStartingPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("starting_price between", value1, value2, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andStartingPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("starting_price not between", value1, value2, "startingPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNull() {
            addCriterion("discount is null");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNotNull() {
            addCriterion("discount is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountEqualTo(BigDecimal value) {
            addCriterion("discount =", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotEqualTo(BigDecimal value) {
            addCriterion("discount <>", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThan(BigDecimal value) {
            addCriterion("discount >", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("discount >=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThan(BigDecimal value) {
            addCriterion("discount <", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("discount <=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountIn(List<BigDecimal> values) {
            addCriterion("discount in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotIn(List<BigDecimal> values) {
            addCriterion("discount not in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount not between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andFinalPriceIsNull() {
            addCriterion("final_price is null");
            return (Criteria) this;
        }

        public Criteria andFinalPriceIsNotNull() {
            addCriterion("final_price is not null");
            return (Criteria) this;
        }

        public Criteria andFinalPriceEqualTo(BigDecimal value) {
            addCriterion("final_price =", value, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andFinalPriceNotEqualTo(BigDecimal value) {
            addCriterion("final_price <>", value, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andFinalPriceGreaterThan(BigDecimal value) {
            addCriterion("final_price >", value, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andFinalPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("final_price >=", value, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andFinalPriceLessThan(BigDecimal value) {
            addCriterion("final_price <", value, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andFinalPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("final_price <=", value, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andFinalPriceIn(List<BigDecimal> values) {
            addCriterion("final_price in", values, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andFinalPriceNotIn(List<BigDecimal> values) {
            addCriterion("final_price not in", values, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andFinalPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("final_price between", value1, value2, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andFinalPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("final_price not between", value1, value2, "finalPrice");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdIsNull() {
            addCriterion("photographer_id is null");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdIsNotNull() {
            addCriterion("photographer_id is not null");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdEqualTo(Integer value) {
            addCriterion("photographer_id =", value, "photographerId");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdNotEqualTo(Integer value) {
            addCriterion("photographer_id <>", value, "photographerId");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdGreaterThan(Integer value) {
            addCriterion("photographer_id >", value, "photographerId");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("photographer_id >=", value, "photographerId");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdLessThan(Integer value) {
            addCriterion("photographer_id <", value, "photographerId");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdLessThanOrEqualTo(Integer value) {
            addCriterion("photographer_id <=", value, "photographerId");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdIn(List<Integer> values) {
            addCriterion("photographer_id in", values, "photographerId");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdNotIn(List<Integer> values) {
            addCriterion("photographer_id not in", values, "photographerId");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdBetween(Integer value1, Integer value2) {
            addCriterion("photographer_id between", value1, value2, "photographerId");
            return (Criteria) this;
        }

        public Criteria andPhotographerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("photographer_id not between", value1, value2, "photographerId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andDurationIsNull() {
            addCriterion("duration is null");
            return (Criteria) this;
        }

        public Criteria andDurationIsNotNull() {
            addCriterion("duration is not null");
            return (Criteria) this;
        }

        public Criteria andDurationEqualTo(Integer value) {
            addCriterion("duration =", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationNotEqualTo(Integer value) {
            addCriterion("duration <>", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationGreaterThan(Integer value) {
            addCriterion("duration >", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationGreaterThanOrEqualTo(Integer value) {
            addCriterion("duration >=", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationLessThan(Integer value) {
            addCriterion("duration <", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationLessThanOrEqualTo(Integer value) {
            addCriterion("duration <=", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationIn(List<Integer> values) {
            addCriterion("duration in", values, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationNotIn(List<Integer> values) {
            addCriterion("duration not in", values, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationBetween(Integer value1, Integer value2) {
            addCriterion("duration between", value1, value2, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationNotBetween(Integer value1, Integer value2) {
            addCriterion("duration not between", value1, value2, "duration");
            return (Criteria) this;
        }

        public Criteria andMScoreIsNull() {
            addCriterion("m_score is null");
            return (Criteria) this;
        }

        public Criteria andMScoreIsNotNull() {
            addCriterion("m_score is not null");
            return (Criteria) this;
        }

        public Criteria andMScoreEqualTo(Integer value) {
            addCriterion("m_score =", value, "mScore");
            return (Criteria) this;
        }

        public Criteria andMScoreNotEqualTo(Integer value) {
            addCriterion("m_score <>", value, "mScore");
            return (Criteria) this;
        }

        public Criteria andMScoreGreaterThan(Integer value) {
            addCriterion("m_score >", value, "mScore");
            return (Criteria) this;
        }

        public Criteria andMScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("m_score >=", value, "mScore");
            return (Criteria) this;
        }

        public Criteria andMScoreLessThan(Integer value) {
            addCriterion("m_score <", value, "mScore");
            return (Criteria) this;
        }

        public Criteria andMScoreLessThanOrEqualTo(Integer value) {
            addCriterion("m_score <=", value, "mScore");
            return (Criteria) this;
        }

        public Criteria andMScoreIn(List<Integer> values) {
            addCriterion("m_score in", values, "mScore");
            return (Criteria) this;
        }

        public Criteria andMScoreNotIn(List<Integer> values) {
            addCriterion("m_score not in", values, "mScore");
            return (Criteria) this;
        }

        public Criteria andMScoreBetween(Integer value1, Integer value2) {
            addCriterion("m_score between", value1, value2, "mScore");
            return (Criteria) this;
        }

        public Criteria andMScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("m_score not between", value1, value2, "mScore");
            return (Criteria) this;
        }

        public Criteria andPScoreIsNull() {
            addCriterion("p_score is null");
            return (Criteria) this;
        }

        public Criteria andPScoreIsNotNull() {
            addCriterion("p_score is not null");
            return (Criteria) this;
        }

        public Criteria andPScoreEqualTo(Integer value) {
            addCriterion("p_score =", value, "pScore");
            return (Criteria) this;
        }

        public Criteria andPScoreNotEqualTo(Integer value) {
            addCriterion("p_score <>", value, "pScore");
            return (Criteria) this;
        }

        public Criteria andPScoreGreaterThan(Integer value) {
            addCriterion("p_score >", value, "pScore");
            return (Criteria) this;
        }

        public Criteria andPScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("p_score >=", value, "pScore");
            return (Criteria) this;
        }

        public Criteria andPScoreLessThan(Integer value) {
            addCriterion("p_score <", value, "pScore");
            return (Criteria) this;
        }

        public Criteria andPScoreLessThanOrEqualTo(Integer value) {
            addCriterion("p_score <=", value, "pScore");
            return (Criteria) this;
        }

        public Criteria andPScoreIn(List<Integer> values) {
            addCriterion("p_score in", values, "pScore");
            return (Criteria) this;
        }

        public Criteria andPScoreNotIn(List<Integer> values) {
            addCriterion("p_score not in", values, "pScore");
            return (Criteria) this;
        }

        public Criteria andPScoreBetween(Integer value1, Integer value2) {
            addCriterion("p_score between", value1, value2, "pScore");
            return (Criteria) this;
        }

        public Criteria andPScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("p_score not between", value1, value2, "pScore");
            return (Criteria) this;
        }

        public Criteria andCrtAtIsNull() {
            addCriterion("crt_at is null");
            return (Criteria) this;
        }

        public Criteria andCrtAtIsNotNull() {
            addCriterion("crt_at is not null");
            return (Criteria) this;
        }

        public Criteria andCrtAtEqualTo(Date value) {
            addCriterion("crt_at =", value, "crtAt");
            return (Criteria) this;
        }

        public Criteria andCrtAtNotEqualTo(Date value) {
            addCriterion("crt_at <>", value, "crtAt");
            return (Criteria) this;
        }

        public Criteria andCrtAtGreaterThan(Date value) {
            addCriterion("crt_at >", value, "crtAt");
            return (Criteria) this;
        }

        public Criteria andCrtAtGreaterThanOrEqualTo(Date value) {
            addCriterion("crt_at >=", value, "crtAt");
            return (Criteria) this;
        }

        public Criteria andCrtAtLessThan(Date value) {
            addCriterion("crt_at <", value, "crtAt");
            return (Criteria) this;
        }

        public Criteria andCrtAtLessThanOrEqualTo(Date value) {
            addCriterion("crt_at <=", value, "crtAt");
            return (Criteria) this;
        }

        public Criteria andCrtAtIn(List<Date> values) {
            addCriterion("crt_at in", values, "crtAt");
            return (Criteria) this;
        }

        public Criteria andCrtAtNotIn(List<Date> values) {
            addCriterion("crt_at not in", values, "crtAt");
            return (Criteria) this;
        }

        public Criteria andCrtAtBetween(Date value1, Date value2) {
            addCriterion("crt_at between", value1, value2, "crtAt");
            return (Criteria) this;
        }

        public Criteria andCrtAtNotBetween(Date value1, Date value2) {
            addCriterion("crt_at not between", value1, value2, "crtAt");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeIsNull() {
            addCriterion("payment_time is null");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeIsNotNull() {
            addCriterion("payment_time is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeEqualTo(Date value) {
            addCriterion("payment_time =", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeNotEqualTo(Date value) {
            addCriterion("payment_time <>", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeGreaterThan(Date value) {
            addCriterion("payment_time >", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("payment_time >=", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeLessThan(Date value) {
            addCriterion("payment_time <", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeLessThanOrEqualTo(Date value) {
            addCriterion("payment_time <=", value, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeIn(List<Date> values) {
            addCriterion("payment_time in", values, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeNotIn(List<Date> values) {
            addCriterion("payment_time not in", values, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeBetween(Date value1, Date value2) {
            addCriterion("payment_time between", value1, value2, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andPaymentTimeNotBetween(Date value1, Date value2) {
            addCriterion("payment_time not between", value1, value2, "paymentTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeIsNull() {
            addCriterion("starting_time is null");
            return (Criteria) this;
        }

        public Criteria andStartingTimeIsNotNull() {
            addCriterion("starting_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartingTimeEqualTo(Date value) {
            addCriterion("starting_time =", value, "startingTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeNotEqualTo(Date value) {
            addCriterion("starting_time <>", value, "startingTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeGreaterThan(Date value) {
            addCriterion("starting_time >", value, "startingTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("starting_time >=", value, "startingTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeLessThan(Date value) {
            addCriterion("starting_time <", value, "startingTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeLessThanOrEqualTo(Date value) {
            addCriterion("starting_time <=", value, "startingTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeIn(List<Date> values) {
            addCriterion("starting_time in", values, "startingTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeNotIn(List<Date> values) {
            addCriterion("starting_time not in", values, "startingTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeBetween(Date value1, Date value2) {
            addCriterion("starting_time between", value1, value2, "startingTime");
            return (Criteria) this;
        }

        public Criteria andStartingTimeNotBetween(Date value1, Date value2) {
            addCriterion("starting_time not between", value1, value2, "startingTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeIsNull() {
            addCriterion("model_end_time is null");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeIsNotNull() {
            addCriterion("model_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeEqualTo(Date value) {
            addCriterion("model_end_time =", value, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeNotEqualTo(Date value) {
            addCriterion("model_end_time <>", value, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeGreaterThan(Date value) {
            addCriterion("model_end_time >", value, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("model_end_time >=", value, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeLessThan(Date value) {
            addCriterion("model_end_time <", value, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("model_end_time <=", value, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeIn(List<Date> values) {
            addCriterion("model_end_time in", values, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeNotIn(List<Date> values) {
            addCriterion("model_end_time not in", values, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeBetween(Date value1, Date value2) {
            addCriterion("model_end_time between", value1, value2, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andModelEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("model_end_time not between", value1, value2, "modelEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeIsNull() {
            addCriterion("photographer_end_time is null");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeIsNotNull() {
            addCriterion("photographer_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeEqualTo(Date value) {
            addCriterion("photographer_end_time =", value, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeNotEqualTo(Date value) {
            addCriterion("photographer_end_time <>", value, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeGreaterThan(Date value) {
            addCriterion("photographer_end_time >", value, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("photographer_end_time >=", value, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeLessThan(Date value) {
            addCriterion("photographer_end_time <", value, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("photographer_end_time <=", value, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeIn(List<Date> values) {
            addCriterion("photographer_end_time in", values, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeNotIn(List<Date> values) {
            addCriterion("photographer_end_time not in", values, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeBetween(Date value1, Date value2) {
            addCriterion("photographer_end_time between", value1, value2, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andPhotographerEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("photographer_end_time not between", value1, value2, "photographerEndTime");
            return (Criteria) this;
        }

        public Criteria andMEvaIsNull() {
            addCriterion("m_eva is null");
            return (Criteria) this;
        }

        public Criteria andMEvaIsNotNull() {
            addCriterion("m_eva is not null");
            return (Criteria) this;
        }

        public Criteria andMEvaEqualTo(Byte value) {
            addCriterion("m_eva =", value, "mEva");
            return (Criteria) this;
        }

        public Criteria andMEvaNotEqualTo(Byte value) {
            addCriterion("m_eva <>", value, "mEva");
            return (Criteria) this;
        }

        public Criteria andMEvaGreaterThan(Byte value) {
            addCriterion("m_eva >", value, "mEva");
            return (Criteria) this;
        }

        public Criteria andMEvaGreaterThanOrEqualTo(Byte value) {
            addCriterion("m_eva >=", value, "mEva");
            return (Criteria) this;
        }

        public Criteria andMEvaLessThan(Byte value) {
            addCriterion("m_eva <", value, "mEva");
            return (Criteria) this;
        }

        public Criteria andMEvaLessThanOrEqualTo(Byte value) {
            addCriterion("m_eva <=", value, "mEva");
            return (Criteria) this;
        }

        public Criteria andMEvaIn(List<Byte> values) {
            addCriterion("m_eva in", values, "mEva");
            return (Criteria) this;
        }

        public Criteria andMEvaNotIn(List<Byte> values) {
            addCriterion("m_eva not in", values, "mEva");
            return (Criteria) this;
        }

        public Criteria andMEvaBetween(Byte value1, Byte value2) {
            addCriterion("m_eva between", value1, value2, "mEva");
            return (Criteria) this;
        }

        public Criteria andMEvaNotBetween(Byte value1, Byte value2) {
            addCriterion("m_eva not between", value1, value2, "mEva");
            return (Criteria) this;
        }

        public Criteria andPEvaIsNull() {
            addCriterion("p_eva is null");
            return (Criteria) this;
        }

        public Criteria andPEvaIsNotNull() {
            addCriterion("p_eva is not null");
            return (Criteria) this;
        }

        public Criteria andPEvaEqualTo(Byte value) {
            addCriterion("p_eva =", value, "pEva");
            return (Criteria) this;
        }

        public Criteria andPEvaNotEqualTo(Byte value) {
            addCriterion("p_eva <>", value, "pEva");
            return (Criteria) this;
        }

        public Criteria andPEvaGreaterThan(Byte value) {
            addCriterion("p_eva >", value, "pEva");
            return (Criteria) this;
        }

        public Criteria andPEvaGreaterThanOrEqualTo(Byte value) {
            addCriterion("p_eva >=", value, "pEva");
            return (Criteria) this;
        }

        public Criteria andPEvaLessThan(Byte value) {
            addCriterion("p_eva <", value, "pEva");
            return (Criteria) this;
        }

        public Criteria andPEvaLessThanOrEqualTo(Byte value) {
            addCriterion("p_eva <=", value, "pEva");
            return (Criteria) this;
        }

        public Criteria andPEvaIn(List<Byte> values) {
            addCriterion("p_eva in", values, "pEva");
            return (Criteria) this;
        }

        public Criteria andPEvaNotIn(List<Byte> values) {
            addCriterion("p_eva not in", values, "pEva");
            return (Criteria) this;
        }

        public Criteria andPEvaBetween(Byte value1, Byte value2) {
            addCriterion("p_eva between", value1, value2, "pEva");
            return (Criteria) this;
        }

        public Criteria andPEvaNotBetween(Byte value1, Byte value2) {
            addCriterion("p_eva not between", value1, value2, "pEva");
            return (Criteria) this;
        }

        public Criteria andAppealIsNull() {
            addCriterion("appeal is null");
            return (Criteria) this;
        }

        public Criteria andAppealIsNotNull() {
            addCriterion("appeal is not null");
            return (Criteria) this;
        }

        public Criteria andAppealEqualTo(Integer value) {
            addCriterion("appeal =", value, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealNotEqualTo(Integer value) {
            addCriterion("appeal <>", value, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealGreaterThan(Integer value) {
            addCriterion("appeal >", value, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealGreaterThanOrEqualTo(Integer value) {
            addCriterion("appeal >=", value, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealLessThan(Integer value) {
            addCriterion("appeal <", value, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealLessThanOrEqualTo(Integer value) {
            addCriterion("appeal <=", value, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealIn(List<Integer> values) {
            addCriterion("appeal in", values, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealNotIn(List<Integer> values) {
            addCriterion("appeal not in", values, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealBetween(Integer value1, Integer value2) {
            addCriterion("appeal between", value1, value2, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealNotBetween(Integer value1, Integer value2) {
            addCriterion("appeal not between", value1, value2, "appeal");
            return (Criteria) this;
        }

        public Criteria andAppealDescIsNull() {
            addCriterion("appeal_desc is null");
            return (Criteria) this;
        }

        public Criteria andAppealDescIsNotNull() {
            addCriterion("appeal_desc is not null");
            return (Criteria) this;
        }

        public Criteria andAppealDescEqualTo(String value) {
            addCriterion("appeal_desc =", value, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescNotEqualTo(String value) {
            addCriterion("appeal_desc <>", value, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescGreaterThan(String value) {
            addCriterion("appeal_desc >", value, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescGreaterThanOrEqualTo(String value) {
            addCriterion("appeal_desc >=", value, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescLessThan(String value) {
            addCriterion("appeal_desc <", value, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescLessThanOrEqualTo(String value) {
            addCriterion("appeal_desc <=", value, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescLike(String value) {
            addCriterion("appeal_desc like", value, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescNotLike(String value) {
            addCriterion("appeal_desc not like", value, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescIn(List<String> values) {
            addCriterion("appeal_desc in", values, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescNotIn(List<String> values) {
            addCriterion("appeal_desc not in", values, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescBetween(String value1, String value2) {
            addCriterion("appeal_desc between", value1, value2, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealDescNotBetween(String value1, String value2) {
            addCriterion("appeal_desc not between", value1, value2, "appealDesc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccIsNull() {
            addCriterion("appeal_succ is null");
            return (Criteria) this;
        }

        public Criteria andAppealSuccIsNotNull() {
            addCriterion("appeal_succ is not null");
            return (Criteria) this;
        }

        public Criteria andAppealSuccEqualTo(String value) {
            addCriterion("appeal_succ =", value, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccNotEqualTo(String value) {
            addCriterion("appeal_succ <>", value, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccGreaterThan(String value) {
            addCriterion("appeal_succ >", value, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccGreaterThanOrEqualTo(String value) {
            addCriterion("appeal_succ >=", value, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccLessThan(String value) {
            addCriterion("appeal_succ <", value, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccLessThanOrEqualTo(String value) {
            addCriterion("appeal_succ <=", value, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccLike(String value) {
            addCriterion("appeal_succ like", value, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccNotLike(String value) {
            addCriterion("appeal_succ not like", value, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccIn(List<String> values) {
            addCriterion("appeal_succ in", values, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccNotIn(List<String> values) {
            addCriterion("appeal_succ not in", values, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccBetween(String value1, String value2) {
            addCriterion("appeal_succ between", value1, value2, "appealSucc");
            return (Criteria) this;
        }

        public Criteria andAppealSuccNotBetween(String value1, String value2) {
            addCriterion("appeal_succ not between", value1, value2, "appealSucc");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}